package top.kaoshanji.p3ch21a;

import java.util.ArrayList;

/**
 * 代码清单-p3ch21a-242页b：其他有分支的节点接口
 * @author kaoshanji
 * ^_^
 * create time 2025/3/25 21:11
 */
public interface IBranch {

    /**
     * 获得信息
     * @return String
     */
    public String getInfo();

    /**
     * 增加数据节点，例如研发部下设的研发一组
     * @param branch IBranch
     */
    public void add(IBranch branch);

    /**
     * 增加叶子节点
     * @param leaf ILeaf
     */
    public void add(ILeaf leaf);

    /**
     * 获得下级信息
     * @return ArrayList
     */
    public ArrayList getSubordinateInfo();


}
